package com.xhs.utils;

import cn.hutool.core.util.IdUtil;
import com.xhs.constant.Constants;
import org.slf4j.MDC;

/**
 * @desc: TraceId 日志追踪ID工具类
 * @projectName: spring-boot-demo
 * @author: xhs
 * @date: 2025-08-20 周三 16:01
 */
public class TraceIdUtil {

    /**
     * 生成TraceId
     */
    public static String generateTraceId() {
        return IdUtil.simpleUUID();
    }

    /**
     * 获取当前TraceId
     */
    public static String getTraceId() {
        return MDC.get(Constants.TRACE_ID);
    }

    /**
     * 设置TraceId
     */
    public static void setTraceId(String traceId) {
        MDC.put(Constants.TRACE_ID, traceId);
    }

    /**
     * 清除TraceId
     */
    public static void removeTraceId() {
        MDC.remove(Constants.TRACE_ID);
    }
}
